package uy.com.antel.mdb;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
import javax.ejb.EJB;
import javax.ejb.MessageDriven;
import javax.ejb.ActivationConfigProperty;
import uy.com.antel.dao.EditorialDAOLocal;
import uy.com.antel.entity.Editorial;


@MessageDriven(
	    activationConfig = {
	        @ActivationConfigProperty(propertyName = "destinationType",
	                propertyValue = "javax.jms.Queue"),
	        @ActivationConfigProperty(propertyName = "destination",
	                propertyValue = "queue/j2ee_prueba_alta_editorial") ,
	                }
	)

public class ServerEditorialesMDB implements MessageListener {

	  @EJB (mappedName="EditorialDAO/local")
	    EditorialDAOLocal editorialDAO;
	  
	@Override
	public void onMessage(Message message) {
		TextMessage textMessage = (TextMessage) message;
		try {
			String nombreEditorial= textMessage.getText();
			
			if (!(editorialDAO.existEditorial(nombreEditorial)) ){
			Editorial edi = new Editorial();
			edi.setNombre(nombreEditorial);
			editorialDAO.persistEditorial(edi);
			}
			
			else {System.out.println("Ya existe una editorial con el nombre: " + textMessage.getText());}		
			}
		catch (JMSException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		    	
		
		

	}

}
